Creates the foreign key properties that will be used in KeyedCollection.
It loops over all of the foreign key attributes for ClassName and creates
a write-only property for each referenced class by using the class' name
in lower case. There is a static assert that makes sure the lower case
class name does not equal the class name. This would result in name
collisions and is not conforming to the D style.
There are two setters that are made. One takes the referenced class
by reference and the other accepts null. The null setter removes the
reference and disconnects the emitted signals. The setter that takes
the class by reference connects the emitted signals and keeps the
address of the class to check foreign key constraints when anything
changes.
Creates the foreign key properties that will be used in KeyedCollection. It loops over all of the foreign key attributes for ClassName and creates a write-only property for each referenced class by using the class' name in lower case. There is a static assert that makes sure the lower case class name does not equal the class name. This would result in name collisions and is not conforming to the D style.
There are two setters that are made. One takes the referenced class by reference and the other accepts null. The null setter removes the reference and disconnects the emitted signals. The setter that takes the class by reference connects the emitted signals and keeps the address of the class to check foreign key constraints when anything changes.